package group.sicher.common.entity;

import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Objects;

/**
 * @Auth rock
 * @Date 2019/7/1 21:08
 * @description
 */
@Entity
@Table(name = "wm_shop_info")
public class ShopInfoEntity {

    private Long id;
    private Long shopId;
    private String shopName;
    private String tag;
    private String businessCategory;
    private String contact;
    private String contactMobile;
    private Long beginAt;
    private Long endAt;
    private String storeImg;
    private String instoreImg;
    private String logoImg;
    private String backgroupImg;
    private String longitude;
    private String latitude;
    private String provinceName;
    private Long provice;
    private String cityName;
    private Long city;
    private String areaName;
    private Long area;
    private String address;
    private String street;
    private String mobile;
    private String email;
    private String images;
    private String notice;
    private Double score;
    private String sendTime;
    private BigDecimal boxCost;
    private BigDecimal sendCost;
    private BigDecimal floorSendCost;

       @Id
   @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id", nullable = false)
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    @Basic
    @Column(name = "shop_id", nullable = true)
    public Long getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    @Basic
    @Column(name = "shop_name", nullable = true, length = 50)
    public String getShopName() {
        return shopName;
    }

    public void setShopName(String shopName) {
        this.shopName = shopName;
    }

    @Basic
    @Column(name = "tag", nullable = true, length = 100)
    public String getTag() {
        return tag;
    }

    public void setTag(String tag) {
        this.tag = tag;
    }

    @Basic
    @Column(name = "business_category", nullable = true, length = 255)
    public String getBusinessCategory() {
        return businessCategory;
    }

    public void setBusinessCategory(String businessCategory) {
        this.businessCategory = businessCategory;
    }

    @Basic
    @Column(name = "contact", nullable = true, length = 20)
    public String getContact() {
        return contact;
    }

    public void setContact(String contact) {
        this.contact = contact;
    }

    @Basic
    @Column(name = "contact_mobile", nullable = true, length = 20)
    public String getContactMobile() {
        return contactMobile;
    }

    public void setContactMobile(String contactMobile) {
        this.contactMobile = contactMobile;
    }

    @Basic
    @Column(name = "begin_at", nullable = true)
    public Long getBeginAt() {
        return beginAt;
    }

    public void setBeginAt(Long beginAt) {
        this.beginAt = beginAt;
    }

    @Basic
    @Column(name = "end_at", nullable = true)
    public Long getEndAt() {
        return endAt;
    }

    public void setEndAt(Long endAt) {
        this.endAt = endAt;
    }

    @Basic
    @Column(name = "store_img", nullable = true, length = 500)
    public String getStoreImg() {
        return storeImg;
    }

    public void setStoreImg(String storeImg) {
        this.storeImg = storeImg;
    }

    @Basic
    @Column(name = "instore_img", nullable = true, length = 500)
    public String getInstoreImg() {
        return instoreImg;
    }

    public void setInstoreImg(String instoreImg) {
        this.instoreImg = instoreImg;
    }

    @Basic
    @Column(name = "logo_img", nullable = true, length = 500)
    public String getLogoImg() {
        return logoImg;
    }

    public void setLogoImg(String logoImg) {
        this.logoImg = logoImg;
    }

    @Basic
    @Column(name = "backgroup_img", nullable = true, length = 255)
    public String getBackgroupImg() {
        return backgroupImg;
    }

    public void setBackgroupImg(String backgroupImg) {
        this.backgroupImg = backgroupImg;
    }

    @Basic
    @Column(name = "longitude", nullable = true, length = 20)
    public String getLongitude() {
        return longitude;
    }

    public void setLongitude(String longitude) {
        this.longitude = longitude;
    }

    @Basic
    @Column(name = "latitude", nullable = true, length = 20)
    public String getLatitude() {
        return latitude;
    }

    public void setLatitude(String latitude) {
        this.latitude = latitude;
    }

    @Basic
    @Column(name = "province_name", nullable = true, length = 20)
    public String getProvinceName() {
        return provinceName;
    }

    public void setProvinceName(String provinceName) {
        this.provinceName = provinceName;
    }

    @Basic
    @Column(name = "provice", nullable = true)
    public Long getProvice() {
        return provice;
    }

    public void setProvice(Long provice) {
        this.provice = provice;
    }

    @Basic
    @Column(name = "city_name", nullable = true, length = 20)
    public String getCityName() {
        return cityName;
    }

    public void setCityName(String cityName) {
        this.cityName = cityName;
    }

    @Basic
    @Column(name = "city", nullable = true)
    public Long getCity() {
        return city;
    }

    public void setCity(Long city) {
        this.city = city;
    }

    @Basic
    @Column(name = "area_name", nullable = true, length = 20)
    public String getAreaName() {
        return areaName;
    }

    public void setAreaName(String areaName) {
        this.areaName = areaName;
    }

    @Basic
    @Column(name = "area", nullable = true)
    public Long getArea() {
        return area;
    }

    public void setArea(Long area) {
        this.area = area;
    }

    @Basic
    @Column(name = "address", nullable = true, length = 200)
    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    @Basic
    @Column(name = "street", nullable = true, length = 100)
    public String getStreet() {
        return street;
    }

    public void setStreet(String street) {
        this.street = street;
    }

    @Basic
    @Column(name = "mobile", nullable = true, length = 20)
    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    @Basic
    @Column(name = "email", nullable = true, length = 50)
    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    @Basic
    @Column(name = "images", nullable = true, length = 500)
    public String getImages() {
        return images;
    }

    public void setImages(String images) {
        this.images = images;
    }

    @Basic
    @Column(name = "notice", nullable = true, length = 500)
    public String getNotice() {
        return notice;
    }

    public void setNotice(String notice) {
        this.notice = notice;
    }

    @Basic
    @Column(name = "score", nullable = true, precision = 0)
    public Double getScore() {
        return score;
    }

    public void setScore(Double score) {
        this.score = score;
    }

    @Basic
    @Column(name = "send_time", nullable = true, length = 50)
    public String getSendTime() {
        return sendTime;
    }

    public void setSendTime(String sendTime) {
        this.sendTime = sendTime;
    }

    @Basic
    @Column(name = "box_cost", nullable = true, precision = 0)
    public BigDecimal getBoxCost() {
        return boxCost;
    }

    public void setBoxCost(BigDecimal boxCost) {
        this.boxCost = boxCost;
    }

    @Basic
    @Column(name = "send_cost", nullable = true, precision = 0)
    public BigDecimal getSendCost() {
        return sendCost;
    }

    public void setSendCost(BigDecimal sendCost) {
        this.sendCost = sendCost;
    }

    @Basic
    @Column(name = "floor_send_cost", nullable = true, precision = 0)
    public BigDecimal getFloorSendCost() {
        return floorSendCost;
    }

    public void setFloorSendCost(BigDecimal floorSendCost) {
        this.floorSendCost = floorSendCost;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        ShopInfoEntity that = (ShopInfoEntity) o;
        return id == that.id &&
                Objects.equals(shopId, that.shopId) &&
                Objects.equals(shopName, that.shopName) &&
                Objects.equals(tag, that.tag) &&
                Objects.equals(businessCategory, that.businessCategory) &&
                Objects.equals(contact, that.contact) &&
                Objects.equals(contactMobile, that.contactMobile) &&
                Objects.equals(beginAt, that.beginAt) &&
                Objects.equals(endAt, that.endAt) &&
                Objects.equals(storeImg, that.storeImg) &&
                Objects.equals(instoreImg, that.instoreImg) &&
                Objects.equals(logoImg, that.logoImg) &&
                Objects.equals(backgroupImg, that.backgroupImg) &&
                Objects.equals(longitude, that.longitude) &&
                Objects.equals(latitude, that.latitude) &&
                Objects.equals(provinceName, that.provinceName) &&
                Objects.equals(provice, that.provice) &&
                Objects.equals(cityName, that.cityName) &&
                Objects.equals(city, that.city) &&
                Objects.equals(areaName, that.areaName) &&
                Objects.equals(area, that.area) &&
                Objects.equals(address, that.address) &&
                Objects.equals(street, that.street) &&
                Objects.equals(mobile, that.mobile) &&
                Objects.equals(email, that.email) &&
                Objects.equals(images, that.images) &&
                Objects.equals(notice, that.notice) &&
                Objects.equals(score, that.score) &&
                Objects.equals(sendTime, that.sendTime) &&
                Objects.equals(boxCost, that.boxCost) &&
                Objects.equals(sendCost, that.sendCost) &&
                Objects.equals(floorSendCost, that.floorSendCost);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, shopId, shopName, tag, businessCategory, contact, contactMobile, beginAt, endAt, storeImg, instoreImg, logoImg, backgroupImg, longitude, latitude, provinceName, provice, cityName, city, areaName, area, address, street, mobile, email, images, notice, score, sendTime, boxCost, sendCost, floorSendCost);
    }
}
